package LC;

/**
 * https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/description/
 * Say you have an array for which the ith element is the price of a given stock on day i.
 * Design an algorithm to find the maximum profit. You may complete as many transactions as you like
 * (ie, buy one and sell one share of the stock multiple times).
 * However, you may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).
 */
public class LC_122_BestTimetoBuyandSellStockII_Greedy {
    public static void main(String[] args) {
        int maxProfit = Solution.maxProfit(new int[]{1, 2, 3, 4});
        System.out.println(maxProfit);
    }

    static class Solution {
        static int maxProfit(int[] prices) {
            int res = 0;
            for (int i = 0; i < prices.length - 1; ++i)
                if (prices[i] < prices[i + 1])
                    res += prices[i + 1] - prices[i];
            return res;
        }
    }
}
